mandelbrot set
六年前我理解过,最近发现忘了,复习一下。
mandelbrot set是这么画的:
- 在复平面上定义一个可以迭代的计算规则,比如“这个数先平方再加上它本身,看看结果是多少?”
- 这个计算的结果可以理解为一种“特征值”。
- 对复平面上的每个点,不断迭代,看看这个值如何变化。
- 根据每个点的迭代特征进行着色。比如,有些点的特征值可能越来越小,永远不会超过某个常数n。有些点一两次就超过了n。有些点需要多迭代几次……
- 最后渲染出来的图,颜色其实代表了“迭代多少次”。

像这张图,黑色部分都是“那个值再怎么迭代也不会超过4”(其实只迭代了24次)。
白色部分是20次左右才超过4。
灰色部分是比较快就超过4了。
- 最后渲染出来的图,颜色其实代表了“迭代多少次”。
那么问题是,为什么这样定义出来的图是一个分形图呢?
还没研究。直觉是和复平面上旋转拉伸有关系。
例如,如果某个点a运算1次就超过了n,那可以倒推出哪些点运算2次就超过n。这些点一定是经过有规律的旋转和缩放后叠在了点a上。
而遵循同样的“旋转-缩放(比如一直缩小)”规则画出来的图,会是一个分形。